javascript event bubbling vs capturing